.\" Copyright (C) 2007 International Business Machines Corporation
.\" Written by Tom Lendacky based on the Trusted Computing Group Software Stack Specification Version 1.2
.\"
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "Tspi_TPM_GetAuditDigest" 3 "2007-06-27" "TSS 1.2" "TCG Software Stack Developer's Reference"
.SH NAME
Tspi_TPM_GetAuditDigest \- retrieve the audit digest. 
.SH "SYNOPSIS"
.ad l
.hy 0
.nf
.B #include <tss/tspi.h>
.sp
.BI "TSS_RESULT Tspi_TPM_GetAuditDigest(TSS_HTPM        " hTpm ",            TSS_HKEY           " hKey ","
.BI "                                   TSS_BOOL        " closeAudit ",      UINT32*            " pulAuditDigestSize ","
.BI "                                   BYTE**          " prgbAuditDigest ", TPM_COUNTER_VALUE* " pCounterValue ","
.BI "                                   TSS_VALIDATION* " pValidationData ", UINT32*            " ordSize ","
.BI "                                   UINT32**        " ordList ");"
.fi
.sp
.ad
.hy

.SH "DESCRIPTION"
.PP
\fBTspi_TPM_GetAuditDigest\fR  is used to retrieve the audit digest.  The audit digest may be signed or unsigned.  If the audit digest is signed (hKey is non-NULL) then the current audit digest, the current audit counter and, optionally, the hash of the audited ordinal list and a signature are returned.  If the audit digest is not signed (hKey is NULL) then the current audit digest, the current audit counter and the full list of audited ordinals is returned.
.SH "PARAMETERS"
.PP
.SS hTpm
Handle of the TPM object.
.PP
.SS hKey
Handle of the signature key object (the handle can be NULL).
.PP
.SS closeAudit
A flag indicating whether or not to close the current audit digest after it is signed.  This parameter is ignored if \fIhKey\fR is NULL.
.PP
.SS pulAuditDigestSize
Pointer to the size of the returned audit digest.
.PP
.SS prgbAuditDigest
Pointer to a buffer that holds the returned audit digest.
.PP
.SS pCounterValue
Pointer to a TPM_COUNTER_VALUE structure that holds the returned audit counter.
.PP
.SS pValidationData
Pointer to a validation data structure.  The validation data structure provides external information required to compute the signature.  On input, the fields representing the ExternalData must contain an anti-replay nonce that will be used in the signing operation.  On output, this structure provides a buffer containing the data used to compute the validation data and a buffer containing the validation data (a signature generated by signing the data using the key referenced by \fIhKey\fR).  If this parameter is NULL then the TSS will perform the validation.  This parameter is ignored if \fIhKey\fR is NULL.
.PP
.SS ordSize
Pointer to the number of ordinals in the returned audited ordinal list.  This parameter is ignored if \fIhKey\fR is non-NULL.
.PP
.SS ordList
Pointer to a buffer that holds the returned audited ordinal list.  This parameter is ignored if \fIhKey\fR is non-NULL.
.SH "RETURN CODES"
.PP
\fBTspi_TPM_GetAuditDigest\fR returns TSS_SUCCESS on success, otherwise one of the following values are returned:
.TP
.SM TSS_E_INVALID_HANDLE
.TP
.SM TSS_E_BAD_PARAMETER
.TP
.SM TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
.SH "CONFORMING TO"

.PP
\fBTspi_TPM_GetAuditDigest\fR conforms to the Trusted Computing Group Software Specification Version 1.2



